//
//  label.h
//  Void Dead
//
//  Created by Sidney Just on 25.08.09.
//  Copyright 2009 Sidney Just
//  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; 
//  either version 3 of the License, or (at your option) any later version.
//  
//  This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty 
//  of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
//  

#import <Foundation/Foundation.h>

#import "Texture2D.h"
#import "color.h"

/**
 * This class represent a text on the screen.
 * You shouldn't create a label by yourself, use the labelmanager instead!
 **/

@interface VD_label : NSObject {
	NSString *textString;
	BOOL antiAlias;
	
	VD_Color *textColor;
	Texture2D *text;
	
	float pos_x;
	float pos_y;
	
	float size_x;
	float size_y;
	
	BOOL visible;
}

/**
 * YES = Label is visible, NO = Label is invisible
 * Default: YES.
 **/
@property BOOL visible;

/**
 * x-axis position of the label on the screen
 **/
@property float pos_x;

/**
 * y-axis position of the label on the screen
 **/
@property float pos_y;

/**
 * The color of the label. 
 * Default: r=1; g=1; b=1;
 * Range: 0.0 ... 1.0
 **/
@property (nonatomic, retain) VD_Color *textColor;

/**
 * Size of the label in x coordinates
 **/
@property float size_x;

/**
 * Size of the label in y coordinates
 **/
@property float size_y;

/**
 * Sets the text of the label
 @param str String that should be displayed
 @param name Name of the font (eg. @"Arial")
 @param size Size that should be used for the font
 **/
- (void)setString:(NSString *)str fontName:(NSString*)name fontSize:(CGFloat)size;

/**
 * Draws the label on the screen
 @param eng Pointer to the engine which handles the label
 **/
- (void)drawLabel:(VD_Engine *)eng;

@end
